package com.prueba.proyecto.client.gin;

import com.gwtplatform.mvp.client.gin.AbstractPresenterModule;
import com.gwtplatform.mvp.client.gin.DefaultModule;
import com.prueba.proyecto.client.place.ClientPlaceManager;
import com.prueba.proyecto.client.core.InicioPresenter;
import com.prueba.proyecto.client.core.InicioView;
import com.prueba.proyecto.client.place.Inicio;
import com.prueba.proyecto.client.place.NameTokens;
import com.prueba.proyecto.client.core.loginPresenter;
import com.prueba.proyecto.client.core.loginView;
import com.prueba.proyecto.client.place.DefaultPlace;
import com.prueba.proyecto.client.core.ContenedorPresenter;
import com.prueba.proyecto.client.core.ContenedorView;
import com.prueba.proyecto.client.place.Menu;
import com.prueba.proyecto.client.core.HeaderPresenter;
import com.prueba.proyecto.client.core.HeaderView;
import com.prueba.proyecto.client.core.ContenedorDefinitivoPresenter;
import com.prueba.proyecto.client.core.ContenedorDefinitivoView;

public class ClientModule extends AbstractPresenterModule {

	@Override
	protected void configure() {
		install(new DefaultModule(ClientPlaceManager.class));

		bindPresenter(InicioPresenter.class, InicioPresenter.MyView.class,
				InicioView.class, InicioPresenter.MyProxy.class);

		bindConstant().annotatedWith(Inicio.class).to(NameTokens.inicio);

		bindPresenter(loginPresenter.class, loginPresenter.MyView.class,
				loginView.class, loginPresenter.MyProxy.class);

		bindConstant().annotatedWith(DefaultPlace.class).to(NameTokens.loggin);

		bindPresenter(ContenedorPresenter.class,
				ContenedorPresenter.MyView.class, ContenedorView.class,
				ContenedorPresenter.MyProxy.class);

		bindConstant().annotatedWith(Menu.class).to(NameTokens.menu);

		bindPresenter(HeaderPresenter.class, HeaderPresenter.MyView.class,
				HeaderView.class, HeaderPresenter.MyProxy.class);

		bindPresenter(ContenedorDefinitivoPresenter.class,
				ContenedorDefinitivoPresenter.MyView.class,
				ContenedorDefinitivoView.class,
				ContenedorDefinitivoPresenter.MyProxy.class);
	}
}
